﻿package plugin.roleN.handler
{
    import cmd.*;
    import com.core.*;
    import flash.utils.*;
    import pluginfw.nio.*;
    import pluginfw.nio.imsg.*;

    public class FashionHandler extends Object implements IGroupHandler
    {

        public function FashionHandler()
        {
            return;
        }// end function

        public function dealSimpleMessage(param1:ISimpleMessage) : void
        {
            return;
        }// end function

        public function dealBufferMessage(param1:IBufferMessage) : void
        {
            var _loc_2:Object = null;
            var _loc_3:Input = null;
            var _loc_5:int = 0;
            var _loc_6:Array = null;
            var _loc_7:int = 0;
            var _loc_8:int = 0;
            var _loc_9:int = 0;
            _loc_2 = new Object();
            _loc_3 = new Input(null);
            var _loc_4:* = param1.getBody();
            switch(param1.getCmd())
            {
                case CMDFashion.GetFashion:
                {
                    _loc_4.position = 0;
                    _loc_3.setBytes(_loc_4);
                    _loc_2.fashionType = _loc_3.readVarInt(false);
                    _loc_5 = _loc_3.readShort();
                    _loc_2.fashions = new Array();
                    _loc_8 = 0;
                    while (_loc_8 < _loc_5)
                    {
                        
                        _loc_9 = _loc_3.readByte();
                        if (_loc_9 != 0)
                        {
                            _loc_2.fashions[_loc_8] = new Object();
                            _loc_2.fashions[_loc_8].fashionId = _loc_3.readVarInt(false);
                            _loc_2.fashions[_loc_8].fashionType = _loc_3.readVarInt(false);
                            _loc_2.fashions[_loc_8].display = _loc_3.readVarInt(false);
                            _loc_2.fashions[_loc_8].outTime = _loc_3.readVarInt(false);
                        }
                        _loc_8++;
                    }
                    ModelProxy.change("fashion", "init", _loc_2);
                    _loc_6 = _loc_2.fashions;
                    if (_loc_2.fashionType == 6)
                    {
                        if (_loc_6.length > 0)
                        {
                            ModelProxy.change("data", "fashion", _loc_6);
                            ModelProxy.change("bufferView", "addBindBuffer", "fashion");
                        }
                        else
                        {
                            ModelProxy.change("bufferView", "removeBindBuffer", "fashion");
                        }
                    }
                    else if (_loc_6.length > 0)
                    {
                        ModelProxy.change("data", "huanwu", _loc_6);
                    }
                    break;
                }
                case CMDFashion.Change:
                {
                    _loc_4.position = 0;
                    _loc_3.setBytes(_loc_4);
                    _loc_7 = _loc_3.readByte();
                    if (_loc_7 != 0)
                    {
                        _loc_2.fashion = new Object();
                        _loc_2.fashion.fashionId = _loc_3.readVarInt(false);
                        _loc_2.fashion.fashionType = _loc_3.readVarInt(false);
                        _loc_2.fashion.display = _loc_3.readVarInt(false);
                        _loc_2.fashion.outTime = _loc_3.readVarInt(false);
                    }
                    ModelProxy.change("fashion", "changeFashion", _loc_2.fashion);
                    break;
                }
                default:
                {
                    break;
                }
            }
            return;
        }// end function

        public function dealProxyMessage(param1:IProxyMessage) : void
        {
            return;
        }// end function

    }
}
